Vehicle routing to avoid regions with glare

ABSTRACT

Features of a vehicle navigation system are discussed in this disclosure. In particular, systems and methods for identifying glare-prone areas and establishing a route that avoids one or more of the identified glare-prone areas that are determined to be likely to degrade visibility of an environment outside of the vehicle. In some embodiments, the navigation system can be configured to calculate the likely duration of a trip and then based on sun angle data identify locations where glare is likely to be problematic. In some embodiments, the navigation system can also be configured to choose routes that avoid bright sources of light that could adversely affect visual acuity at night.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.62/367,562, filed Jul. 27, 2016, the entirety of which is herebyincorporated by reference.

BACKGROUND

Glare can present a serious safety issue when travelling in any vehicle.Even autonomous driving systems can be substantially degraded by strongsources of light incident to one or more of their sensors. Glaregenerated by the sun can be particularly dangerous during the periodsbefore sunset and after sunrise. Even when the sun is not visiblethrough the front windshield of the vehicle, glare can reflect off thedashboard. When the sun is behind the vehicle, glare can reduce theeffectiveness of the rear-view mirrors or in some cases obscure thedriver's view of traffic signals. This phenomenon is even moreproblematic due to the heaviest sun glare periods coinciding withmorning and evening commute times when traffic is often the heaviest.For these reasons, a way to mitigate glare tending to prevent a sensoror driver from seeing clearly outside of the vehicle is desirable.

SUMMARY

A vehicle is disclosed and includes a navigation system configured toidentify one or more glare-prone portions of a first route of travel inwhich at least one light source is predicted to degrade visibility of anenvironment outside of the vehicle. The prediction can be based on lightsource position information and predicted position and orientation ofthe vehicle along the first route of travel. The vehicle navigationsystem can also be configured to establish a second route of travel thatavoids at least a part of an identified glare-prone portion of the firstroute of travel.

A method for navigating a vehicle is disclosed and includes identifyingone or more glare-prone portions of a first route in which the sun ispredicted to degrade visibility of an environment outside of thevehicle. The prediction is based on at least sun position informationand predicted position and orientation of the vehicle along the firstroute. The method also includes establishing a second route that avoidsat least a part of an identified glare-prone portion of the first route.

Another vehicle is disclosed and includes a processor. The processor isconfigured to execute a non-transitory computer-readable storage mediumcontaining instructions that cause the processor to perform operationsthat include receiving a request to navigate the vehicle to adestination. After the destination is selected, the processor determinesa first route between a current location of the vehicle and thedestination and predicts an estimated time of arrival at thedestination. The processor also identifies one or more glare-proneportions of the first route in which one or more light sources arepredicted to degrade visibility of an environment outside of thevehicle. The predication is based on at least light source positioninformation and predicted position and orientation of the vehicle alongthe first route. Finally, the process is configured to establish asecond route that avoids at least a part of an identified glare-proneportion of the first route.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure will be readily understood by the following detaileddescription in conjunction with the accompanying drawings, wherein likereference numerals designate like structural elements, and in which:

FIG. 1 shows an interior view of a vehicle travelling along a paved roaddirectly towards the sun;

FIGS. 2A-2D show how the height of a driver and configuration of avehicle affect the elevation below which the sun has the potential tocome into direct view of a driver of a vehicle;

FIGS. 3A-3B show various routing schemes for maneuvering a vehiclearound glare-prone areas;

FIG. 4 shows a flow chart depicting a method for re-routing a vehicle toaccount for glare;

FIG. 5 shows a flow chart depicting a method for identifying glare-pronesegments of a route;

FIG. 6 shows a method for mitigating glare while traversing aglare-prone area; and

FIG. 7 illustrates an example of a computing system suitable for usewith the described embodiments.

Other aspects and advantages of the invention will become apparent fromthe following detailed description taken in conjunction with theaccompanying drawings which illustrate, by way of example, theprinciples of the described embodiments.

DETAILED DESCRIPTION

This description is presented to enable any person skilled in the art tomake and use the embodiments, and is provided in the context of aparticular application and its requirements. Various modifications tothe disclosed embodiments will be readily apparent to those skilled inthe art, and the general principles defined herein may be applied toother embodiments and applications without departing from the spirit andscope of the present disclosure. Thus, the invention is not limited tothe embodiments shown, but is to be accorded the widest scope consistentwith the principles and features disclosed herein.

Bright lights shining through the front windshield of a vehicle cancause severe driver discomfort and can be potentially deadly when thelights prevent a driver of the vehicle from seeing potential hazards. Insome cases, bright light can be emitted by the sun and generate glarethat prevents a driver from being able to properly see importantelements of the vehicle's surroundings, such as a pedestrian, anothervehicle, signage on the road, the colors being displayed by a trafficsignal, etc. Unfortunately, vehicle navigation systems generally routevehicles along the most direct or fastest route to get to a finaldestination without taking into consideration environmental factors thatcan result in severe visibility limitations due to glare.

According to certain embodiments, predicted glare data is factored intonavigational route computation when the navigation system determinesglare is likely to be an issue during one or more segments of thenavigational route. Glare data can be predicted in various ways. In oneembodiment, sun-position information associated with portions of a routemay be obtained. While conducting calculations for one specific route ispossible, the term route can also refer broadly to an area between acurrent position and a destination. Consequently, the methods describedherein can also be carried out by identifying any glare-prone areasbetween the current position and destination. The sun positioninformation may comprise, for example, sun-angle information. In someembodiments, three dimensional maps data can also be retrieved andcombined with the sun-position information to identify shadowed areas.Once the glare data is retrieved it can be used to identify alternaterouting when the fastest or most direct routes are determined to havesubstantial amounts of sun glare.

In some embodiments, vehicle specific factors can be factored intochoice of routing. For example, a vehicle with a low roofline would beless likely to suffer the effects of sun glare than a similarlypositioned vehicle with a higher roofline. The angle, curvature and tintof the front windshield can also substantially alter the effect of sunglare on the driver. In some cases, the size and position of a sunshadecould also be taken into account when establishing a vehicle route basedon sun glare data.

In some embodiments, the driver's physiological attributes can beconsidered. For example, a taller driver tends to have a lowerlikelihood of being bothered by the sun than a shorter driver on accountof the visor and roof of the car being more likely to shade the driver'seyes from the sun.

It should be noted that in certain circumstances sun determination couldbe omitted from route determination. For example, sun positiondetermination could be performed only during hours where the sun wasknown to be within a predetermined distance from the horizon. Further,sun position determination could also be skipped on overcast days.

These and other embodiments are discussed below with reference to FIGS.1-7, however, those skilled in the art will readily appreciate that thedetailed description given herein with respect to these figures is forexplanatory purposes only and should not be construed as limiting.

FIG. 1 shows an interior view of a vehicle 100 travelling along a pavedroad directly towards the sun 102. Vehicle 100 includes sunshades 104,which can be helpful in obscuring sun 102 from a driver's field of viewwhen sun 102 is sufficiently elevated above the horizon. However, evenwhen sun 102 is positioned outside of a driver's direct field of view, alow angle of light direction can allow light to enter the windshield andbounce off dashboard 106. Light bouncing off dashboard 106 isparticularly likely when dashboard 106 has a light color and/orreflective texture. For at least this reason, it can be advisable toemploy glare mitigation even when the sun is not visible within thefront windshield of a vehicle. Glare can even affect the driver ofvehicle 100 when sun 102 is located behind vehicle 100 and light fromthe sun reflects off mirrors 110 or 112. In some embodiments, sunlightemitted from sun 102 when it is positioned behind vehicle 100 canreflect off the taillights of vehicle 108, e.g., making it unclear as towhether or not vehicle 108 intends to stop. Sunlight can also reflectoff and obscure the state of other important signals such as trafficlights. Vehicle 100 can also include display 114, which can be used todisplay imagery from a car-mounted camera. In some embodiments, imageryfrom the camera can help a driver identify high contrast scenes. Forexample, high dynamic range photos or video clips can be used toovercome the high contrast scenes caused by the presence of sun 102 nearthe horizon. Alternatively, when the camera feeding imagery to display114 is offset far enough from the driver, the sun glare may not have assubstantial an impact.

FIG. 1 also shows that when sun 102 is positioned within a viewableportion of the front windshield of vehicle 100, as depicted, it canbecome extremely difficult for a driver of vehicle 100 to see throughthe front windshield, which can make driving safely difficult if notimpossible. While some methods of mitigating this problem such assunshades 104 and polarized sunglasses have been in general use for sometime, mitigating the effects of the sun when it happens to be directlyin front of the car can be challenging. As depicted, the position ofvehicle 108 adjacent to sun 102 can make vehicle 108 very difficult tosee for the driver of vehicle 100. Consequently, a driver of vehicle 100might not be able to react quickly enough if vehicle 108 stopped rapidlydue to a crash or sudden slowdown in traffic.

FIGS. 2A-2D show how the height of a driver and configuration of avehicle may affect the elevation below which the sun has the potentialto come into direct view of the driver of the vehicle. FIGS. 2A and 2Bshow the same cars with different drivers 202 and 212 with sunshades 104in a stowed position. Because driver 212 as depicted in FIG. 2B has agreater sitting height and longer legs than driver 202 depicted in FIG.2A, driver 212 is positioned farther from the front windshield 204 thandriver 202 and the head of driver 212 is positioned higher in the cabinof vehicle 100 than the head of driver 202. Both the rearwardspositioning of driver 212 and the higher position of the head of driver212 reduces the threshold elevation at which sun 102 comes into directview of driver 212 when compared with the threshold elevation associatedwith driver 212.

FIGS. 2C-2D show the effect on field of view of drivers 202 and 212 withsunshades 104 in a deployed position. In FIG. 2C, sunshade 104 shieldsdriver 202 from direct view of sun 102. In FIG. 2D, sunshade 104 shieldsdriver 212 from direct view of sun 102 as well as glare from certainreflections off interior surfaces of vehicle 100, etc. It should beappreciated that variations in the dimensions of the front windshieldand in particular the height of the windshield height also change theelevation at which sun 102 begins to reduce the visual acuity of drivers202 and 212.

FIGS. 3A-3B show various routing schemes for maneuvering a vehiclearound areas of potential glare. Each of the intersections depicted inFIGS. 3A-3B have been rated with a set of numbers indicating relativeeffect of glare when traversing the intersection at a particular day andtime. The ten rating indicates little to no likelihood of glare and theone rating indicates the most severe levels of glare. These numbers canbe based on a fusion of sun angle data and three dimensional terraindata. By fusing the sun angle and three dimensional terrain data, shadowregions can be identified that can reduce the effect of glare inparticular areas. For example, tall office buildings surrounding anintersection could prevent most forms of glare from affecting visibilityin the intersection. The glare ratings shown can be date and timedependent according to certain embodiments

FIG. 3A shows a series of city blocks in a grid shaped arrangement ofstreets along with ratings for the depicted intersections during amorning commute in which the sun rises almost precisely in the East toalign with the East/West oriented streets. Since the streets areoriented North/South or East/West, this makes any East/West orientedstreets quite problematic in terms of potential glare, as indicated bythe ratings. FIG. 3A depicts an initial route of travel 302 selected forvehicle 100. Route of travel 302 takes vehicle 100 through intersections304, 306, 308, 310, 312 314 and 316. Unfortunately, this results invehicle 100 having to drive through intersections 306 and 308 with glareratings of 2 and 3 respectively. The rating of intersection 308 can beslightly higher than 306 on account of vehicle 100 arriving atintersection 308 later than intersection 306, resulting in the sun beingslightly higher in the sky and less likely to obscure the vision of thedriver of vehicle 100 while traversing intersection 308. Given the lowglare ratings for both of intersections 306 and 308 a navigation systemassociated with vehicle 100 can be configured to select a differentroute of travel.

FIG. 3A also shows route of travel 322 selected by the navigation systemof vehicle 100 after determining route 302 forced vehicle 100 totraverse high glare intersections 306 and 308. Route of travel 322includes intersection 304, 324, 326, 328 and 314. The first sun glareimprovement tactic utilized by the navigation system was to travelNorth/South before travelling West into the sun. This can be helpful inthe morning as in heavy traffic this would give the sun additional timeto rise higher above the horizon. Furthermore, intersections 304 and 324both have 10 ratings travelling North. The lower seven rating atintersection 326 can be caused by sun glare reflected off building 330.In some embodiments, sun glare off a building can be modeled, e.g.,based on a high definition map of the region including precise locationand dimensions of structures such as buildings. The modeling of directand reflected glare can be performed at the vehicle and/or at a systemremote from the vehicle, e.g., at a cloud server. Alternatively oradditionally, direct and reflected glare information can becrowd-sourced, e.g., based on real-time or historic transmission ofinformation regarding sensor readings of other vehicles travelling thesame route and/or in the vicinity. In the present case, a rating ofseven can be considered acceptable. This is especially true given thatvehicle 100 makes a right turn at intersection 326, which can generallybe considered to be a safer maneuver than crossing through theintersection. Once vehicle 100 has turned in a northeasterly direction,the sun glare can be reduced on account of the sun shifting to the rightside of the windshield. At intersection 328, the rating is a six ratherthan the five at intersection 326 on account of at least one of thetraffic signals at intersection 328 being shaded from the sun bybuilding 332. At intersection 314, vehicle 100 can continue straightthrough the intersection on account of that street placing vehicle 100just east of the destination. By similar chains of logic, thenavigational system can optimize other routes of travel in real-time toreduce the risk of reduced visibility due to sun glare.

FIG. 3B shows another example of re-routing a vehicle based on sun-glareduring the evening hours when the sun is setting in the west. In thisexample, vehicle 100 is traversing highway 352 along route of travel354, which takes vehicle 100 through intersections 356, 358 and 360. Dueto the position of the sun in the West, intersections 356 and 360 haveparticularly bad sun glare. Intersection 360 is of particular concern onaccount of vehicle 100 needing to go straight through intersection 360.To avoid traveling straight through intersection 360 the navigationsystem of vehicle 100 can change route of travel 354 to a new route oftravel 362, which routes vehicle 100 through intersections 364 and 366.Essentially the navigation system continues on highway 352, which doesnot have any traffic intersections, until one exit after the destinationso westerly surface street travel is minimized. While intersection 364does have a rating of three along the desired route, vehicle 100 ismaking a right turn. The right turn in this scenario can be safer onaccount of there being no incoming traffic cross-traffic since theintersection is a T-intersection. A protected right turn lane can alsobe helpful and in certain instances can be indicated and considered aspart of the assessed intersection rating. In this way, route 362 allowsvehicle 100 to avoid having to proceed straight through or make a leftturn across an intersection having moderate to severe sun glare.

FIG. 4 shows a flow chart illustrating a method for re-routing a vehicleto account for glare. At 402, a request for directions to a destinationis received. The request can be made in many ways including by manuallytyping in an address, selecting a destination by voice command andpicking a destination from a list of previous destinations, etc. At 404,a navigation system can be configured to identify routes between thecurrent location of the vehicle and the destination. In someembodiments, the routing can be setup between another starting point andthe destination. This feature could be helpful for a traveler desiringto plan a trip later in the day or at some point in the future. At 406,the identified routes can be analyzed to see whether any portions of theroutes are predicted to take place in periods of time where the sun iswithin a threshold number of degrees from the horizon. If no portion ofthe trip is determined to take place at any time where the sun iswithin, e.g., 30 degrees of the horizon, then the navigation system cansimply display the identified routes without making any adjustments tothe routing. Another situation in which additional glare identificationprocesses could be avoided is where weather information indicates anovercast condition over the duration of the identified routes. In such acase, the additional glare identification processes can be skipped androute selection can be based entirely on more traditional criteria suchas shortest or quickest route determinations.

At 410, when a portion of one of the routes is determined to take placeduring a period of time in which the sun is near the horizon and notblocked by any weather phenomenon, segments of the route likely to beaffected by glare exposure can be identified. Identification of thesesegments can involve considering numerous factors. For example, glareexperienced by a driver can be dependent upon the driver's position inthe vehicle, the size, shape, and angle of the front windshield, the useof sunshades, the cleanliness of the front windshield, the position ofadjacent structures capable of shading and/or reflecting bright sourcesof light such as the sun, etc. This will be discussed in greater detailin FIG. 5.

At 412, the navigation system can be configured to adjust the routing toreduce the severity of glare being experienced by a driver of thevehicle. Where the driver is an autonomous system, the glare can amountto glare incident to one or more sensors associated with the autonomoussystem. At 414, the navigation system can be configured to provideadjusted routing to the destination. In some embodiments, the driver canbe given the option to ignore the routes corrected for sun glare inorder to reduce driving time. In some embodiments, the driver can beapprised of the potential severity of the sun glare if a request toignore the sun glare avoidance routing is requested. It should be notedthat the system may make adjustments to respond to new conditions asthey arise, e.g., when the route is delayed for some reason. Forexample, an unexpected stop at a gas station or heavier than expectedtraffic can lead to the vehicle being in a different location along theroute, and thus position relative to the sun than originally calculated.Thus, appropriate adjustments can be made in real-time. When the routedeviation exceeds a predetermined threshold such as, e.g., five minutesahead or behind schedule, the method can return to 406 to determinewhether the route needs to be further adjusted to accommodate changes inthe position of the sun.

FIG. 5 shows a flow chart 500 depicting a method for identifyingglare-prone portions of a route. At 502, the navigation systemidentifies glare-prone portions of a first route in which the sun ispredicted to degrade visibility of an environment outside of thevehicle. The degraded visibility prediction can be based on the positionof the sun in the sky and the orientation of the vehicle with respect tothe sun. In some embodiments, a portion of the route will only beconsidered to be glare-prone if the sun is positioned so that it isdirectly observable by the driver through the front windshield of thevehicle. At 504, sun position data can be fused with three-dimensionalterrain data to identify shadowed areas within the identifiedglare-prone portions of the first route. For example, a large hill orbuilding could mask significant portions of a road from the sun. Theshadow data can be used to reduce the number of glare-prone portionsassociated with the first route

FIG. 5 also shows how at 506, a sensor within the vehicle can beconfigured to monitor the position of the eyes of the driver within thecabin of the car. Alternatively, the navigation system can be configuredto receive an input from the driver indicating an approximate positionof the eyes of the driver with respect to the seat. The eye positiondata can be fused with information about the size, shape, angle, and/orlocation of the front windshield to help establish positions of the sunrelative to the vehicle where the sun is likely to shine directly intothe eyes of the driver. In some embodiments, the size and shape of thefront windshield can be adjusted based on a position of each of thesunshades within the vehicle. In some embodiments, the vehicle caninclude a sensor configured to measure the cleanliness of the frontwindshield. The sensor can then determine whether the front windshieldis dirty enough to increase the severity of sun glare. These factors canalso be used to adjust which portions of the first route should beconsidered to be glare-prone.

At 508, a second route can be established that avoids at least a part ofan identified glare-prone portion of the first route. In someembodiments, the second route can also factor the number of hazardousareas within a glare-prone portion of the first route in determiningwhich glare-prone portions to avoid. In some embodiments, the hazardousareas can correspond to traffic intersections, school crosswalks andtrain crossings. In more rural areas, these hazardous areas couldinclude areas known to have frequent livestock crossings, farm fieldentrances and unpaved narrow roads. In some embodiments, each type ofhazardous area can have a threshold above which the navigation systemwill try to route the vehicle around it. For example, the navigationsystem can be configured to avoid any school crosswalks during themorning hours when the visibility falls below a predetermined threshold.In some embodiments, avoidance of or re-routing around a hazard area canbe as simple as selecting a lane of a road less likely to be subject tostrong glare. This could be possible where one or more lanes of amulti-lane road were masked from the sun by the shadow of a building orlarge terrain feature.

FIG. 6 shows a flow chart depicting a method for mitigating glare in ahazardous area. At 602, a vehicle approaches a hazardous area in whichthe sun is predicted to adversely affect visibility. The navigationsystem and/or driver may have chosen this route to save time or becausethere was not another feasible way to avoid the hazardous area. Asdiscussed above, a hazardous area could include a traffic signal orpossibly be a crossing area that can include any number of people and/oranimals. At 604, a sensor associated with the vehicle can be configuredto capture a series of sequential frames at different exposure levels.In some embodiments, the vehicle can slow down to reduce blur in thesequential imagery frames and to reduce the likelihood of approachingthe hazardous zone too quickly. In some embodiments, the imaging deviceused to record the sequential imagery frames can be configured to recordthe frames of imagery at a higher bit rate than usual. For example, theimagery can be recorded at 10 or 12 bits per pixel instead of at 8 bitsper pixel. In some embodiments, this boosted bit rate can allow moreshadow and highlight information to be recorded in each frame ofimagery. At 606, the sequence of frames can be fused together to createa high dynamic range image or video capable of seeing more clearlythrough the high contrast scene created by the glare.

FIG. 6 also shows how at 608, the current state of the hazardous areacan be characterized using the high dynamic range image or video. Insome embodiments, machine code can be used to characterize the image orvideo. Where a driver is directing the movement of the vehicle, aviewing screen within the vehicle can be configured to display the highdynamic range image or video to the driver. In some embodiments, thecomputer characterization of the image or video can be used to warn thedriver of certain hazards. For example, an indicator could be overlaidon the front windshield to cue the driver where to look for the hazard.At 610, the identified hazard can be avoided. Further, the vehicle couldinclude safety protocols allowing the vehicle to stop or turn to avoidan identified hazard without affirmative input from the driver. Forexample, when the hazardous area is a traffic intersection and theanalysis of the high dynamic range imagery is able to identify a redlight, the vehicle could be configured to stop prior to entering atraffic intersection. It should be noted that while the description setforth herein generally references sun position, other bright sources oflight tending to degrade driver visibility could also be avoided. Forexample, narrow roads known to have heavy traffic at night where driversfrequently use high beams could be indicated as hazardous glare areas.Furthermore, autonomous systems aboard other vehicles configured toreport and identify dangerous glare areas could share data through acommon cloud infrastructure. For example, strong stadium lighting couldbe identified and avoided.

FIG. 7 illustrates an example of a computing system in which one or moreembodiments may be implemented. A computer system as illustrated in FIG.7 may be incorporated as part of the above described power controlsystem. For example, computer system 700 can represent some of thecomponents of a television, a computing device, a server, a desktop, aworkstation, a control or interaction system in an automobile, a tablet,a netbook or any other suitable computing system. A computing device maybe any computing device with an image capture device or input sensoryunit and a user output device. An image capture device or input sensoryunit may be a camera device. A user output device may be a display unit.Examples of a computing device include but are not limited to video gameconsoles, tablets, smart phones and any other hand-held devices. FIG. 4provides a schematic illustration of one implementation of a computersystem 700 that can perform the methods provided by various otherimplementations, as described herein, and/or can function as the hostcomputer system, a remote kiosk/terminal, a point-of-sale device, atelephonic or navigation or multimedia interface in an automobile, acomputing device, a set-top box, a table computer and/or a computersystem. FIG. 7 is meant only to provide a generalized illustration ofvarious components, any or all of which may be utilized as appropriate.FIG. 7, therefore, broadly illustrates how individual system elementsmay be implemented in a relatively separated or relatively moreintegrated manner.

The computer system 700 is shown comprising hardware elements that canbe electrically coupled via a bus 702 (or may otherwise be incommunication, as appropriate). The hardware elements may include one ormore processors 704, including without limitation one or moregeneral-purpose processors and/or one or more special-purpose processors(such as digital signal processing chips, graphics processing units 722,and/or the like); one or more input devices 708, which can includewithout limitation one or more cameras, sensors, a mouse, a keyboard, amicrophone configured to detect ultrasound or other sounds, and/or thelike; and one or more output devices 710, which can include withoutlimitation a display unit such as the device used in implementations ofthe invention, a printer and/or the like. Additional cameras 720 may beemployed for detection of user's extremities and gestures. In someimplementations, input devices 708 may include one or more sensors suchas infrared, depth, and/or ultrasound sensors. The graphics processingunit 722 may be used to carry out the method for real-time wiping andreplacement of objects described above.

In some implementations of the implementations of the invention, variousinput devices 708 and output devices 710 may be embedded into interfacessuch as display devices, tables, floors, walls, and window screens.Furthermore, input devices 408 and output devices 710 coupled to theprocessors may form multi-dimensional tracking systems.

The computer system 700 may further include (and/or be in communicationwith) one or more non-transitory storage devices 706, which cancomprise, without limitation, local and/or network accessible storage,and/or can include, without limitation, a disk drive, a drive array, anoptical storage device, a solid-state storage device such as a randomaccess memory (“RAM”) and/or a read-only memory (“ROM”), which can beprogrammable, flash-updateable and/or the like. Such storage devices maybe configured to implement any appropriate data storage, includingwithout limitation, various file systems, database structures, and/orthe like.

The computer system 700 might also include a communications subsystem712, which can include without limitation a modem, a network card(wireless or wired), an infrared communication device, a wirelesscommunication device and/or chipset (such as a Bluetooth device, an802.11 device, a Wi-Fi device, a WiMAX device, cellular communicationfacilities, etc.), and/or the like. The communications subsystem 712 maypermit data to be exchanged with a network, other computer systems,and/or any other devices described herein. In many implementations, thecomputer system 700 will further comprise a non-transitory workingmemory 718, which can include a RAM or ROM device, as described above.

The computer system 700 also can comprise software elements, shown asbeing currently located within the working memory 718, including anoperating system 714, device drivers, executable libraries, and/or othercode, such as one or more application programs 716, which may comprisecomputer programs provided by various implementations, and/or may bedesigned to implement methods, and/or configure systems, provided byother implementations, as described herein. Merely by way of example,one or more procedures described with respect to the method(s) discussedabove might be implemented as code and/or instructions executable by acomputer (and/or a processor within a computer); in an aspect, then,such code and/or instructions can be used to configure and/or adapt ageneral purpose computer (or other device) to perform one or moreoperations in accordance with the described methods.

A set of these instructions and/or code might be stored on acomputer-readable storage medium, such as the storage device(s) 706described above. In some cases, the storage medium might be incorporatedwithin a computer system, such as computer system 700. In otherimplementations, the storage medium might be separate from a computersystem (e.g., a removable medium, such as a compact disc), and/orprovided in an installation package, such that the storage medium can beused to program, configure and/or adapt a general purpose computer withthe instructions/code stored thereon. These instructions might take theform of executable code, which may be executable by the computer system700 and/or might take the form of source and/or installable code, which,upon compilation and/or installation on the computer system 700 (e.g.,using any of a variety of generally available compilers, installationprograms, compression/decompression utilities, etc.) then takes the formof executable code.

Substantial variations may be made in accordance with specificrequirements. For example, customized hardware might also be used,and/or particular elements might be implemented in hardware, software(including portable software, such as applets, etc.), or both. Further,connection to other computing devices such as network input/outputdevices may be employed. In some implementations, one or more elementsof the computer system 700 may be omitted or may be implemented separatefrom the illustrated system. For example, the processor 704 and/or otherelements may be implemented separate from the input device 708. In oneimplementation, the processor may be configured to receive images fromone or more cameras that are separately implemented. In someimplementations, elements in addition to those illustrated in FIG. 4 maybe included in the computer system 700.

Some implementations may employ a computer system (such as the computersystem 700) to perform methods in accordance with the disclosure. Forexample, some or all of the procedures of the described methods may beperformed by the computer system 700 in response to processor 704executing one or more sequences of one or more instructions (which mightbe incorporated into the operating system 714 and/or other code, such asan application program 716) contained in the working memory 718. Suchinstructions may be read into the working memory 718 from anothercomputer-readable medium, such as one or more of the storage device(s)706. Merely by way of example, execution of the sequences ofinstructions contained in the working memory 718 might cause theprocessor(s) 704 to perform one or more procedures of the methodsdescribed herein.

The terms “machine-readable medium” and “computer-readable medium,” asused herein, refer to any medium that participates in providing datathat causes a machine to operate in a specific fashion. In someimplementations implemented using the computer system 700, variouscomputer-readable media might be involved in providing instructions/codeto processor(s) 704 for execution and/or might be used to store and/orcarry such instructions/code (e.g., as signals). In manyimplementations, a computer-readable medium may be a physical and/ortangible storage medium. Such a medium may take many forms, includingbut not limited to, non-volatile media, volatile media, and transmissionmedia. Non-volatile media include, for example, optical and/or magneticdisks, such as the storage device(s) 706. Volatile media include,without limitation, dynamic memory, such as the working memory 718.Transmission media include, without limitation, coaxial cables, copperwire and fiber optics, including the wires that comprise the bus 702, aswell as the various components of the communications subsystem 712(and/or the media by which the communications subsystem 712 providescommunication with other devices). Hence, transmission media can alsotake the form of waves (including without limitation radio, acousticand/or light waves, such as those generated during radio-wave andinfrared data communications).

Common forms of physical and/or tangible computer-readable mediainclude, for example, a floppy disk, a flexible disk, hard disk,magnetic tape, or any other magnetic medium, a CD-ROM, any other opticalmedium, punchcards, papertape, any other physical medium with patternsof holes, a RAM, a PROM, EPROM, a FLASH-EPROM, any other memory chip orcartridge, a carrier wave as described hereinafter, or any other mediumfrom which a computer can read instructions and/or code.

Various forms of computer-readable media may be involved in carrying oneor more sequences of one or more instructions to the processor(s) 704for execution. Merely by way of example, the instructions may initiallybe carried on a magnetic disk and/or optical disc of a remote computer.A remote computer might load the instructions into its dynamic memoryand send the instructions as signals over a transmission medium to bereceived and/or executed by the computer system 700. These signals,which might be in the form of electromagnetic signals, acoustic signals,optical signals and/or the like, are all examples of carrier waves onwhich instructions can be encoded, in accordance with variousimplementations of the invention.

The communications subsystem 712 (and/or components thereof) generallywill receive the signals, and the bus 702 then might carry the signals(and/or the data, instructions, etc. carried by the signals) to theworking memory 718, from which the processor(s) 704 retrieves andexecutes the instructions. The instructions received by the workingmemory 718 may optionally be stored on a non-transitory storage device406 either before or after execution by the processor(s) 704.

It is understood that the specific order or hierarchy of steps in theprocesses disclosed is an illustration of exemplary approaches. Basedupon design preferences, it is understood that the specific order orhierarchy of steps in the processes may be rearranged. Further, somesteps may be combined or omitted. The accompanying method claims presentelements of the various steps in a sample order, and are not meant to belimited to the specific order or hierarchy presented.

The previous description is provided to enable any person skilled in theart to practice the various aspects described herein. Variousmodifications to these aspects will be readily apparent to those skilledin the art, and the generic principles defined herein may be applied toother aspects. Moreover, nothing disclosed herein is intended to bededicated to the public.

While some examples of methods and systems herein are described in termsof software executing on various machines, the methods and systems mayalso be implemented as specifically-configured hardware, such asfield-programmable gate array (FPGA) specifically to execute the variousmethods. For example, examples can be implemented in digital electroniccircuitry, or in computer hardware, firmware, software, or in acombination thereof. In one example, a device may include a processor orprocessors. The processor comprises a computer-readable medium, such asa random access memory (RAM) coupled to the processor. The processorexecutes computer-executable program instructions stored in memory, suchas executing one or more computer programs. Such processors may comprisea microprocessor, a digital signal processor (DSP), anapplication-specific integrated circuit (ASIC), field programmable gatearrays (FPGAs), and state machines. Such processors may further compriseprogrammable electronic devices such as PLCs, programmable interruptcontrollers (PICs), programmable logic devices (PLDs), programmableread-only memories (PROMs), electronically programmable read-onlymemories (EPROMs or EEPROMs), or other similar devices.

Such processors may comprise, or may be in communication with, media,for example computer-readable storage media, that may store instructionsthat, when executed by the processor, can cause the processor to performthe steps described herein as carried out, or assisted, by a processor.Examples of computer-readable media may include, but are not limited to,an electronic, optical, magnetic, or other storage device capable ofproviding a processor, such as the processor in a web server, withcomputer-readable instructions. Other examples of media comprise, butare not limited to, a floppy disk, CD-ROM, magnetic disk, memory chip,ROM, RAM, ASIC, configured processor, all optical media, all magnetictape or other magnetic media, or any other medium from which a computerprocessor can read. The processor, and the processing, described may bein one or more structures, and may be dispersed through one or morestructures. The processor may comprise code for carrying out one or moreof the methods (or parts of methods) described herein.

The foregoing description of some examples has been presented only forthe purpose of illustration and description and is not intended to beexhaustive or to limit the disclosure to the precise forms disclosed.Numerous modifications and adaptations thereof will be apparent to thoseskilled in the art without departing from the spirit and scope of thedisclosure.

Reference herein to an example or implementation means that a particularfeature, structure, operation, or other characteristic described inconnection with the example may be included in at least oneimplementation of the disclosure. The disclosure is not restricted tothe particular examples or implementations described as such. Theappearance of the phrases “in one example,” “in an example,” “in oneimplementation,” or “in an implementation,” or variations of the same invarious places in the specification does not necessarily refer to thesame example or implementation. Any particular feature, structure,operation, or other characteristic described in this specification inrelation to one example or implementation may be combined with otherfeatures, structures, operations, or other characteristics described inrespect of any other example or implementation.

Use herein of the word “or” is intended to cover inclusive and exclusiveOR conditions. In other words, A or B or C includes any or all of thefollowing alternative combinations as appropriate for a particularusage: A alone; B alone; C alone; A and B only; A and C only; B and Conly; and A and B and C.

What is claimed is:
 1. A vehicle, comprising: a navigation systemconfigured to: identify one or more glare-prone portions of a firstroute of travel in which at least one light source is predicted todegrade visibility of an environment outside of the vehicle, theprediction based on at least light source position information andpredicted position and orientation of the vehicle along the first routeof travel, and establish a second route of travel that avoids at least apart of an identified glare-prone portion of the first route of travel.2. The vehicle as recited in claim 1, further comprising: a wirelesssignal receiver configured to receive a signal that includes informationidentifying glare-prone portions of the second route of travel and tosend the information to the navigation system, wherein establishing thesecond route further takes into account the wirelessly received glareinformation.
 3. The vehicle as recited in claim 1, further comprising:an imaging device configured to collect imagery of the environmentoutside of the vehicle, wherein the imaging device is configured tocapture multiple frames of imagery at different exposure levels and thenfuse the frames together to obtain a high dynamic range image inresponse to light reaching a light meter associated with the imagingdevice exceeding a threshold value.
 4. The vehicle as recited in claim1, further comprising: a front windshield; and a light filter coveringat least a portion of the front windshield and being configured toreduce the amount of light entering the vehicle through the frontwindshield, wherein the navigation system is configured to adjust athreshold at which the navigation system identifies a portion of thefirst route of travel as being a glare-prone portion in accordance withthe strength of the light filter.
 5. The vehicle as recited in claim 1,further comprising: a front windshield; and a sensor configured tocharacterize the cleanliness of the front windshield, wherein thenavigation system is configured to adjust a threshold at which thenavigation system identifies a portion of the first route of travel asbeing a glare-prone portion in accordance with the cleanliness of thefront windshield.
 6. The vehicle as recited in claim 1, wherein thelight source position information comprises sun position information. 7.A method for navigating a vehicle, comprising: identifying one or moreglare-prone portions of a first route in which the sun is predicted todegrade visibility of an environment outside of the vehicle, theprediction based on at least sun position information and predictedposition and orientation of the vehicle along the first route; andestablishing a second route that avoids at least a part of an identifiedglare-prone portion of the first route.
 8. The method as recited inclaim 7, wherein identifying one or more glare-prone portions of theroute comprises: ignoring portions of the first route along which thevehicle is predicted to traverse while the sun is a threshold distanceabove the horizon; and identifying one or more portions of the firstroute during which the vehicle is predicted to be pointed within athreshold number of degrees from the sun.
 9. The method as recited inclaim 8, wherein the threshold distance above the horizon is establishedin accordance with a position of the eyes of a driver within thevehicle.
 10. The method as recited in claim 8, wherein the thresholddistance above the horizon is established in accordance with a positionof a sunshade disposed within the vehicle.
 11. The method as recited inclaim 8, wherein the threshold distance above the horizon is establishedin accordance with a cleanliness of the front windshield.
 12. The methodas recited in claim 7, wherein identifying one or more glare-proneportions of the first route comprises receiving a signal from a wirelesstransmitter that includes information indicating the sun is degradingvisibility of drivers in other vehicles in one or more portions of theroute, and wherein the second route avoids one or more portions of theroute indicated by the information in the signal.
 13. The method asrecited in claim 7, wherein establishing a second route comprises:identifying traffic intersections within the glare-prone portions of thefirst route; evaluating the severity of degraded visibility at eachidentified traffic intersection, wherein the second route avoids one ormore of the identified traffic intersections in which the sun ispredicted to degrade visibility of a traffic intersection by apredetermined amount.
 14. The method as recited in claim 7, wherein themethod further comprises capturing multiple frames of imagery with anoptical sensor at different exposures and fusing the frames of imagerytogether to overcome imaging limitations caused by the sun being withina field of view of the optical sensor.
 15. A vehicle, comprising: one ormore processors; a non-transitory computer-readable storage mediumcontaining instructions configured to cause the one or more processorsto perform operations including: receiving a request to navigate thevehicle to a destination; determining a first route between a currentlocation of the vehicle and the destination; determining a predictedstart and stop time for the first route; identifying one or moreglare-prone portions of the first route in which one or more lightsources are predicted to degrade visibility of an environment outside ofthe vehicle, the prediction based on at least light source positioninformation and predicted position and orientation of the vehicle alongthe first route; and establishing a second route that avoids at least apart of an identified glare-prone portion of the first route.
 16. Thevehicle as recited in claim 15, wherein a driver's position within thevehicle and dimensions of the vehicle are used to more accuratelypredict when the one or more light sources are likely to be degradevisibility of an environment outside the vehicle through a frontwindshield of the vehicle.
 17. The vehicle as recited in claim 15,wherein the part of an identified glare-prone portion of the first routeavoided by the second route includes a hazardous area.
 18. The vehicleas recited in claim 17, wherein the hazardous area comprises a roadintersection.
 19. The vehicle as recited in claim 15, wherein the roadintersection is identified as being a hazardous area on account of thesun being predicted to reflect off multiple lights of a traffic signal,thereby obscuring which traffic signal is active.
 20. The vehicle asrecited in claim 15, further comprising; a windshield, a portion of thewindshield including a layer of polarized glass; and an imaging deviceconfigured to record imagery through the portion of the windshieldincluding the layer of polarized glass.